package net.yla.smartbus.module.ba.right.menu.service;

import com.alibaba.fastjson.JSONObject;
import net.yla.smartbus.core.base.PageBean;
import net.yla.smartbus.module.ba.right.menu.dto.MenusTreeDTO;
import net.yla.smartbus.module.ba.right.menu.dto.TaxiMenuDTO;
import net.yla.smartbus.module.ba.right.menu.entity.MenusDO;
import net.yla.smartbus.module.ba.right.menu.query.*;
import net.yla.smartbus.module.ba.right.roles.query.QueryOfView;

import java.util.List;

/**
 * @Date: 2020-08-19 17:16
 * @Author: Being Nobody
 * @Version: 1.0
 */
public interface MenusService {


    int deleteByPrimaryKey(Integer menuId);

    int insert(MenusDO record);

    int insertSelective(MenusDO record);

    MenusDO selectByPrimaryKey(Integer menuId);

    int updateByPrimaryKeySelective(MenusDO record);

    int updateByPrimaryKey(MenusDO record);

    List<MenusTreeDTO> menu(String token, CurrentOfQuery query);

    int menusOfCount(MenusOfCount menusOfCount);

    List<JSONObject> list(MenusOfQuery query);

    JSONObject view(QueryOfView query);

    int save(MenusOfSave save);

    int del(QueryOfView query);

    List<Integer> menuValue(List<Integer> ids);

    /**
     * 查询菜单
     * @param query
     * @return
     */
    PageBean<TaxiMenuDTO> listByQuery(TaxiMenuQuery query);
}
